from pydantic import BaseModel, EmailStr

# 用于API响应的基础用户模型，不包含敏感信息
class UserBase(BaseModel):
    email: EmailStr

# 用于创建用户的模型，包含密码
class UserCreate(UserBase):
    password: str

# 用于从数据库读取数据的模型，包含所有字段
# orm_mode=True (在 Pydantic V2 中是 from_attributes=True)
# 告诉 Pydantic 模型从 ORM 对象（如 SQLAlchemy 模型实例）读取数据
class User(UserBase):
    id: int
    is_active: bool

    class Config:
        from_attributes = True